#ifndef MPAPPUTILS_H
#define MPAPPUTILS_H

/******************************
 *
 * 名   称：   当前应用操作公共类
 * 用   途：   获取当前应用进程ID、运行路径、登录用户、线程等待等
 * 作用范围：   公共的
 * 创建时间：   2022-10-03
 * 备   注：
 * 参   考：
 *
 ******************************/


#include "mpConfig.h"
#include <string>
#include "string.h"

#if defined(PLATFORM_UNIX)
 #include <unistd.h>
 #define C_PROCESS_PID pid_t
#else
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #define C_PROCESS_PID DWORD
#endif


namespace MP{
namespace AppUtils{

/**
 * @brief 获取当前进程Id
 * @return
 */
C_PROCESS_PID currentProcessId();
/**
 * @brief 获取当前进程对应文件的绝对路径
 * @return
 */
std::string currentProcessPath();

/**
 * @brief 当前线程等待
 * @param 等待毫秒数
 */
void currentThreadWaiting(int milliseconds);
/**
 * @brief 检查是否运行于cd/dvd rom下
 * @return
 */
bool currentProcessIsRuningCdRom();

/**
 * @brief 获取当前登录用户名称
 * @return
 */
void getUserLogon(std::string & useName);


}   //END AppUtils
}   //END MP

#endif // MPAPPUTILS_H
